package com.cloudkinto.service.company.vo;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@Data
public class DeliveryFeeCalcReq {
    @ApiModelProperty(value = "服务商 code", required = true)
    private String cwProviderCode;
    @ApiModelProperty(value = "服务商名称", required = true)
    private String cwProviderName;
    @ApiModelProperty(value = "对接仓仓库的货主 code", required = true)
    private String cwCustomCode;
    @ApiModelProperty(value = "对接仓仓库仓库的授权 key", required = true)
    private String cwAppKey;
    @ApiModelProperty(value = "对接仓仓库仓库的授权 token", required = true)
    private String cwAccessToken;
    @ApiModelProperty(value = "平台,默认 Temu", required = true)
    private String platform;
    @ApiModelProperty(value = "目的区域二字码", required = true)
    private String regionCode;

    @ApiModelProperty(value = "目的地州或省", required = false)
    private String stateName;
    @ApiModelProperty(value = "目的地城市", required = false)
    private String cityName;
    @ApiModelProperty(value = "邮编", required = true)
    private String postCode;
    @ApiModelProperty(value = "批次组 Id，回传需要带上", required = true)
    private String batchGroupId;
    @ApiModelProperty(value = "批次订单信息", required = true)
    private List<BatchOrderInfo> batchOrderInfoList;


    @Data
    public static class BatchOrderInfo {
        @ApiModelProperty(value = "批次 Id，回传需要带上", required = true)
        private String batchId;
        @ApiModelProperty(value = "合作仓的实际仓库代码", required = true)
        private String cwWarehouseCode;
        @ApiModelProperty(value = "物流产品编码", required = false)
        private String logisticsProductCode;

        @ApiModelProperty(value = "订单列表信息", required = true)
        private List<Order> orderList;
    }


    @Data
    public static class Order {
        @ApiModelProperty(value = "商品的 skuCode", required = true)
        private String cwSkuCode;
        @ApiModelProperty(value = "商品的 sku 的数量", required = true)
        private Integer qty;
    }

}
